﻿using System.Collections.Generic;
using Cesave.Domain.Core;
using Cesave.Domain.PermisosModule.Entities;

namespace Cesave.Domain.PermisosModule.Contracts.Ciclos
{
	/// <summary>
	/// 
	/// </summary>
	public interface ICicloRepository
		: IRepositoryEx<Ciclo>
	{
		/// <summary>
		/// 
		/// </summary>
		/// <returns></returns>
		IEnumerable<Ciclo> FindAllCiclos();

		/// <summary>
		/// 
		/// </summary>
		/// <param name="ciclosByStatusSpecification"></param>
		/// <returns></returns>
		IEnumerable<Ciclo> FindCiclosByStatusSpecification(CiclosByStatusSpecification ciclosByStatusSpecification);

		/// <summary>
		/// 
		/// </summary>
		/// <param name="cicloByGuidSpecification"></param>
		/// <returns></returns>
		Ciclo FindCicloByGuidSpecification(CicloByGuidSpecification cicloByGuidSpecification);

		/// <summary>
		/// 
		/// </summary>
		/// <param name="cicloActualSpecification"></param>
		/// <returns></returns>
		Ciclo FindCicloByCicloActualSpecification(CicloActualSpecification cicloActualSpecification);

	}
}
